package com.itheima.d3_abstract;

//  一个类中可以没有抽象方法，但有抽象类的方法一定是抽象类
public abstract class Animal {
    private String name;

    public Animal(String name) {
        this.name = name;
    }

    public Animal() {
    }

    public abstract void eat();

    public abstract void sleep();

    public abstract  void cry();

    public  void  play(){
        System.out.println("玩耍");
    }
}
//需要一个子类继承抽象类，并且重写所有抽象方法
class Cat extends Animal{

    @Override
    public void eat() {
        System.out.println("吃鱼");
    }

    @Override
    public void sleep() {
        System.out.println("睡觉");
    }

    @Override
    public void cry() {
        System.out.println("喵喵叫");
    }
}
class  Dog extends  Animal{

    @Override
    public void eat() {
        System.out.println("吃骨头");
    }

    @Override
    public void sleep() {
        System.out.println("睡觉");
    }

    @Override
    public void cry() {
        System.out.println("汪汪叫");
    }
}
